import proRequest from "@/request/product";

// 【参数类型】看接口文档
// 定义品牌对象trademark数据
export interface TrademarkData {
    // id可有可无
    id?: number,
    tmName: string,
    logoUrl: string
}

// 【返回值类型】测试接口看返回的数据data
// 定义分页返回的数据类型
export type TrademarkListInfoData =
    {
        "records": TrademarkData[],
        "total": number,
        "size": number,
        "current": number,
        "searchCount": boolean,
        "pages": number
    }

// // 获取所有的列表
// // GET /admin/product/baseTrademark/getTrademarkList
// // getTrademarkList
// export const getTrademarkList = () => {
//     return sytRequest.get<any, TrademarkData[]>('/admin/product/baseTrademark/getTrademarkList')
// }

// GET /admin/product/baseTrademark/{page}/{limit}
// 分页列表
export const getPageList = (page: number, limit: number) => {
    return proRequest.get<any, TrademarkListInfoData>(`/admin/product/baseTrademark/${page}/${limit}`)
}

// 【添加无id 修改有id】
// 添加一个品牌和修改一个品牌都要使用请求体参数 让后台传递一个新的品牌对象
// 虽然接口上看到两个品牌对象是一样的 都有id 这样是不对的
// id并不是前台生成的 而是添加品牌的时候传给后台 后台存储数据库时自动生成的
// 所以添加品牌的时候 品牌对象中不应该有id 而修改品牌的时候品牌对象中应该有id
// 修改的品牌是从数据库中获取的品牌 一定有id
// 而添加的品牌是前端人员收集整理的一个新的品牌对象 还没添加到数据库 所以没有id

// 【一个接口完成新增、修改两个功能】
// POST /admin/product/baseTrademark/save
// 新增BaseTrademark
// PUT /admin/product/baseTrademark/update
// 修改BaseTrademark
export const addOrUpdate = (trademark: TrademarkData) => {
    if (trademark.id) {
        return proRequest.put<any, null>('/admin/product/baseTrademark/update', trademark)
    } else {
        return proRequest.post<any, null>('/admin/product/baseTrademark/save', trademark)
    }
}

// DELETE /admin/product/baseTrademark/remove/{id}
// 删除BaseTrademark
export const remove = (id: number) => {
    // 删除是没有任何数据返回的 所以是null
    return proRequest.delete<any, null>(`/admin/product/baseTrademark/remove/${id}`)
}